In a communication system, the end-to-end delay of a packet may be defined as the time from its generation at the source to when the packet reaches its destination. In a packet-switched communication system, the delay for packets to travel from source to destination may vary depending upon various operating conditions, including but not limited to, channel conditions and network loading. Channel conditions refer to the quality of the wireless link. Some factors determining the quality of the wireless link are signal strength, speed of a mobile and/or physical obstructions.
In a wireless communication system, each packet may incur a source to destination delay different from that experienced by other packets belonging to the same flow. This variation in delay is known as “jitter.” Jitter creates additional complications for receiver-side applications. If the receiver does not correct for jitter, the received message will suffer distortion when the packets are re-assembled. Some systems correct for jitter when reconstructing messages from the received packets. Such systems incorporate a de-jitter buffer, which adds a wait time, referred to as a de-jitter buffer delay. When the de-jitter buffer applies a fixed, large de-jitter buffer delay, it may accommodate a high amount of jitter in arrival of packets; however, this use is not efficient since packets having a smaller delay are also processed using the large de-jitter buffer delay even though these packets could have been processed earlier. This leads to larger end-to-end delays for these packets than what may have been achieved using a smaller de-jitter buffer delay.
The end-to-end delay includes the delays introduced in the network and the various elements through which the packet passes. Many factors contribute to end-to-end delay. Variance in the end-to-end delay is referred to as jitter. Jitter may cause packets to be received after the packets are no longer useful. For example, in a low latency application, such as voice, if a packet is received too late, it may be dropped by the receiver. Such conditions lead to degradation in the quality of communication.
U.S. Pat. No. 7,826,441 discloses an adaptive De-Jitter Buffer for Voice over IP (VoIP) for packet switch communications. The de-jitter buffer methods and apparatus presented avoid playback of underflows while balancing end-to-end delay. In one example, the de-jitter buffer is recalculated at the beginning of each talkspurt. In another example, talkspurt packets are compressed upon receipt of all remaining packets.
In packet-switched systems, data is formed into packets and routed through a network. Each packet is sent to a destination in the network, based on an assigned address contained within the packet, typically in a header. The end-to-end delay of packets, or the time it takes a packet to travel within the network from a first user or “sender” to a second user or “receiver” varies, depending upon channel conditions, network load, Quality of Service (QoS) capabilities of the system, and other flows competing for resources among other things.
Most wireless standards provide different mechanisms for Power save and QoS for embedded devices. The QoS requirements for power save embedded stations give precedence to higher priority data traffic over lower priority data traffic. The current implementation for QoS in most wireless technologies provides higher priority to particular traffic (e.g. Voice/Video) and lower priority to other kinds of traffic (e.g. Background traffic).
The QoS implementation in today's wireless technology implementations takes into account the needs of a higher priority data over lower priority data and adjusts the bandwidth for transmission between the various categories of QoS queues accordingly. That is, higher priority data gets more access to the wireless medium than lower priority data. However in extreme cases where in there is a high degree of higher priority data being transmitted by certain applications, lower priority data applications can suffer from starvation.